Due to the increase in data to be processed and stored electronically, computer based storage systems have grown ever more complex over recent years. This trend has recently been accelerated by the widespread use of centralized data management in so-called “data centers” as well as server virtualization. As a consequence, storage systems of data centers often comprise a large number of storage devices such as magnetic or magneto/optical storage drives, non-volatile semiconductor memory devices, magnetic tape storage devices, and others. The individual storage devices are often grouped to form more complex storage subsystems, for example, redundant array of independent disks (RAID) systems comprising a large number of storage devices. Such storage subsystems are sometimes further aggregated to form storage systems connected by one or more storage area networks (SAN). For both performance and redundancy reasons, components of such a complex storage system are often replicated at various levels of the storage architecture.
As the complexity of storage systems grows, the task of optimizing and maintaining the storage systems becomes more complex. For this purpose, storage systems currently available often provide specialized software tools that allow a limited analysis of the operation of the storage system such as measuring the amount of available storage capacity, measuring actual data throughput and the like. While such data is useful to monitor the current operating status of a storage system, it is insufficient to analyze a storage system in detail in case an error occurs or to optimize the performance of the storage system. Consequently, it could be helpful to provide methods and systems that enhance the capability of analyzing and better controlling a storage system.